10 REM * DISK MASTER 64 * 100 REM MENUE 110 POKE53280,4:POKE53281,4:POKE49152,8 120 CLR:GN=PEEK(49152):DI=0:POKE198,0:PRINT"[147][144] *** DISK MASTER 64 ***" 130 PRINT" *** COMMODORE SINGLE DRIVE 1541 ***" 140 PRINT" *** (C) 1984 BY MARIO WALTHER ***" 150 PRINT"[184][184][184][184][184][184][184][184][184][184][184][184][184][184][184][184][184][184][184][184][184][184][184][184][184][184][184][184][184][184][184][184][184][184][184][184][184][184][184][184]"; 160 PRINT"1[146] FORMATIEREN 7[146] FLOPPY ADRESSE" 170 PRINT"2[146] INITIALIZE 8[146] DISK-NAME AENDERN" 180 PRINT"3[146] VALIDATE 9[146] DISK-ID AENDERN" 190 PRINT"4[146] RENAME C[146] CHECK DISK" 200 PRINT"5[146] SCRATCH D[146] DIRECTORY" 210 PRINT"6[146] COPY E[146] PROGRAMM BEENDEN" 300 GETAU$:IFAU$=""THEN300 305 IFAU$="E"THEN5000 306 IFAU$="D"THEN400 307 IFAU$="C"THEN2000 310 IFASC(AU$)<49ORASC(AU$)>57THEN300 320 A=VAL(AU$):ONAGOTO700,900,1000,1100,1200,1300,1400,1800,1900 330 GOTO300 350 REM * FEHLERKANAL * 360 CLOSE15:OPEN15,GN,15:INPUT#15,EN,EN$,NE,EE:CLOSE15:IFENTHEN850 370 RETURN 400 REM * DIRECTORY * 405 PRINT"[147]" 406 GOSUB410:GOTO415 410 PRINT"BITTE EINE DISKETTE INS LAUFWERK LEGEN ![146]":GOSUB650:RETURN 415 PRINT"[147]BITTE WARTEN !":PRINT"DIRECTORY WIRD GELESEN" 420 DIML$(140),K$(140),F$(140) 430 OPEN1,GN,0,"$":OPEN15,GN,15:GOSUB440:GOTO450 440 INPUT#15,EN,EN$,NE,EE:IFENTHEN850 445 RETURN 450 GET#1,A$,B$:ZE=-1 455 ZE=ZE+1:GET#1,A$,B$ 456 GET#1,A$,B$:C=0 460 IFA$<>""THENC=ASC(A$) 470 IFB$<>""THENC=C+ASC(B$)*256 480 L$(ZE)=RIGHT$(" "+MID$(STR$(C),2),3) 490 GET#1,B$:IFST<>0THENFB$=RIGHT$(" "+L$,3):GOTO580 500 IFB$<>CHR$(34)THEN490 510 F$(ZE)="" 520 GET#1,B$:IFB$<>CHR$(34)THENF$(ZE)=F$(ZE)+B$:GOTO520 530 GET#1,B$:IFB$=CHR$(32)THEN530 540 C$="" 550 C$=C$+B$:GET#1,B$:IFB$<>""THEN550 560 K$(ZE)=LEFT$(C$,3):IFZE=0THENID$=LEFT$(C$,5) 570 IFST=0THEN455 580 CLOSE1 590 PRINT"[147]"F$(0);" "ID$" [146]" 600 YY=3:FORY=1TOZE-1:YY=YY+1 610 PRINT"[144]"L$(Y)""F$(Y);TAB(21)LEFT$(K$(Y),3) 620 IFYY/24=INT(YY/24)THENGOSUB650:PRINT"[147]" 630 NEXT:PRINT""L$(ZE)" BLOECKE FREI [146]":GOSUB650 640 IFYY<25THEN120 641 PRINT"DIRECTORY WIEDERHOLEN ?" 642 GETAU$:IFAU$=""THEN642 643 IFAU$="J"THENY=0:GOTO590 644 IFAU$="N"ORAU$=" "THEN120 645 GOTO641 650 POKE198,0 651 GETAU$:IFAU$=""THEN651 652 IFAU$="_"THEN120 653 RETURN 700 REM FORMATIEREN 710 PRINT"[147]"SPC(14)"FORMATIEREN[146]" 720 IFDI=0THENGOSUB410:DI=1:GOTO700 725 IFDI=2THEN740 730 INPUT"DISK-NAME[146] (MAX.16 Z.) ";DN$:IFDN$=""THEN700 735 IFLEN(DN$)>16THENDN$="":GOTO700 736 DI=2:GOTO700 740 INPUT"DISK-ID[146] (MAX.2 Z.) ";DI$:IFDI$=""ORLEN(DI$)>2THEN700 751 PRINT"IST DIE RICHTIGE DISKETTE IM LAUFWERK ? " 775 GETAU$:IFAU$=""THEN775 776 IFAU$="_"THEN120 777 IFAU$="J"THEN780 778 IFAU$="N"THEN775 780 PRINT"[147]DISKETTE WIRD FORMATIERT" 790 PRINT"NAME : ";DN$:PRINT"ID : ";DI$ 800 CLOSE1:OPEN1,8,15,"N:"+DN$+","+DI$:GOSUB350:CLOSE1 810 GOTO1070 850 REM 860 PRINT""EN;EN$;NE;EE:GOSUB650:GOTO120 900 REM 905 GOSUB910:GOTO920 910 PRINT"[147]"SPC(12)"INITIALISIEREN[146]":RETURN 920 GOSUB410 950 GOSUB910:PRINT" DISKETTE WIRD INITIALISIERT" 960 CLOSE1:OPEN1,GN,15,"I":GOSUB350:CLOSE1 970 GOTO1070 1000 REM 1010 PRINT"[147]"SPC(14)"VALIDATE[146]" 1020 GOSUB410 1050 PRINT" DISKETTE WIRD VALIDIERT " 1060 CLOSE1:OPEN1,8,15,"V":CLOSE1:GOSUB350 1070 PRINT"VORGANG BEENDET":PRINT"TASTE[146]":GOSUB650:GOTO120 1100 REM 1110 PRINT"[147]"SPC(17)"RENAME[146]" 1120 INPUT"ALTER NAME";AN$:IFAN$=""THEN1110 1125 IFAN$="_"THEN120 1130 INPUT"NEUER NAME";NN$:IFNN$=""THENPRINT"[145][145][145][145]":GOTO1130 1135 IFAN$=NN$THEN120 1140 CLOSE1:OPEN1,8,15,"R:"+NN$+"="+AN$:CLOSE1:GOSUB350 1150 GOTO1070 1200 REM * SCRATCH * 1210 PRINT"[147]"SPC(16)"SCRATCH[146]" 1220 INPUT"FILENAME";NA$:IFNA$=""THEN1210 1225 IFNA$="_"THEN120 1230 CLOSE1:OPEN1,8,15,"S:"+NA$:CLOSE1 1240 GOSUB350 1260 GOTO1070 1300 REM * COPY * 1310 PRINT"[147]"SPC(18)"COPY[146]" 1320 PRINT"BITTE DAS ZU KOPIERENDE FILE EINGEBEN !" 1330 INPUT"";AN$:IFAN$=""THEN1310 1340 INPUT"NEUER NAME";NN$:IFNN$=""THENPRINT"[145][145][145]":GOTO1340 1350 CLOSE1:OPEN1,8,15,"C:"+NN$+"="+AN$:CLOSE1:GOSUB350 1360 GOTO1070 1400 REM * FLOPPY NUMMER * 1410 PRINT"[147]GERAETENUMMER DER FLOPPY AENDERN[146]" 1420 PRINT"BITTE JETZT ALLE LAUFWERKE AUSSCHALTEN !"; 1430 PRINT"NUR NICHT DIE,DEREN NUMMER GEAENDERT 1440 [153]"WERDEN SOLL":[129]I[178]0[164]2000:[130] 1450 [133]"ALTE NUMMER 8 CMDCMDCMDCMDCMD";OD 1460 [139]OD[179]8[176]OD[177]15[167][153]"ONONONONON":[137]1450 1470 [133]"NEUE NUMMER 9 CMDCMDCMDCMDCMD";ND 1480 [139]ND[179]8[176]ND[177]15[167][153]"ONONONON":[137]1470 1490 [141]1510:[141]1700 1500 [151]49152,ND:[137]1070 1510 [160]15:[159]15,GN,15 1520 [152]15,"M-R"[199](255)[199](255):[161]#15,C$:C[178][198](C$[170][199](0)) 1530 [139]ST[167][153]"FEHLER AM GERAET":[137]1070 1540 [139]C[178]254[167]MT[178]119 1550 [139]C[178]226[167]MT[178]50 1560 [139]C[178]213[167]MT[178]12 1570 [139]C[178]242[167]MT[178]12 1580 [139]C[178]198[167]1600 1590 [142] 1600 [152]15,"M-R"[199](234)[199](16):[161]#15,ZB$:ZB[178][198](ZB$[170][199](0)) 1610 [139]ZB[178]0[167]MT[178]12 1620 [139]ZB[178]1[167]1640 1630 [139]ST[167]1530 1640 [152]15,"M-R"[199](172)[199](16):[161]#15,ZC$:ZC[178][198](ZC$[170][199](0)) 1650 [139]ZC[178]1[167]MT[178]12 1660 [139]ZC[178]2[167]MT[178]12 1670 [142] 1700 [160]15:[159]15,GN,15 1710 [152]15,"M-W"[199](MT)[199](0)[199](2)[199](ND[170]32)[199](ND[170]64) 1720 [142] 1800 [143] * DISK NAME AENDERN * 1810 [153]"LOADDISK NAME AENDERNWAIT" 1815 [141]410 1820 [159]15,GN,15:NR[178]0:[159]1,GN,3,"#":[152]15,"U1:3"NR",18,0" 1830 [152]15,"B-P:3,144":D$[178]"":[129]L[178]1[164]16:[161]#1,A$:D$[178]D$[170]A$:[130] 1840 [153]"ALTER DISK-NAME: "D$ 1850 OD$[178]"DISK MASTER 64":[153]"NEUER DISK-NAME ";:[133]OD$ 1860 OD$[178][200](OD$[170]" ",16) 1870 [152]15,"B-P:3,144":[152]1,OD$;:[152]15,"U2:3"NR",18,0":[160]1:[160]15 1880 [137]960 1900 [143] * DISK ID AENDERN * 1910 [153]"LOADDISK ID AENDERN" 1920 UU[178]0:[159]15,GN,15:[159]1,GN,3,"#":[152]15,"U1:3"DV",18,0" 1930 [152]15,"B-P:3,162":[161]#1,A$,B$,C$,D$,E$:[153]"ALTER DISK-ID: "A$;B$;C$; 1940 [153]D$;E$:[133]"NEUER DISK-ID";OI$ 1950 [139][195](OI$)[179]3[167]OI$[178]OI$[170]" ":[137]1950 1960 OI$[178][200](OI$[170]"2A",5) 1970 [152]15,"B-P:3,162":[152]1,OI$;:[152]15,"U2:3"UU",18,0 1980 GOTO960 2000 REM * CHECK DISK * 2010 PRINT"[147]"SPC(15)"CHECK DISK[146]" 2020 GOSUB410:DIMT(100),S(100) 2030 OPEN15,GN,15:PRINT#15,"V0":N%=RND(TI)*255 2040 A$="":FORI=1TO255:A$=A$+CHR$(255AND(I+N%)):NEXT:GOSUB350 2050 OPEN2,GN,2,"#":PRINT:PRINT#2,A$;:OPEN15,GN,15 2051 T=1:S=0:PRINT#15,"B-A:0"T;S 2060 INPUT#15,EN,EM$,ET,ES:IFEN=0THEN2090 2070 IFET=0THEN2140 2080 PRINT#15,"B-A:0"ET;ES;:T=ET:S=ES 2090 PRINT#15,"U2:2,0"T;S:NB=NB+1 2100 PRINT"GEPRUEFTE BLOECKE"NB:PRINT"SPUR [157][157][157][157]"T;"SECTOR [157][157][157][157]"S"[145][145]" 2110 INPUT#15,EN,EM$,ES,ET:IFEN=0THEN2051 2120 T(J)=T:S(J)=S:J=J+1 2130 PRINT"FEHLERHAFTER BLOCK:[157][157]",T;S"":GOTO2051 2140 PRINT#15,"I0":GOSUB350:CLOSE2:IFJ=0THENPRINT"KEINE FEHLERHAFTEN BLOECKE" 2150 IFJ=0THEN1070 2160 OPEN2,GN,2,"#":PRINT"FEHLERHAFTE BLOECKE","TRACK","SECTOR" 2170 FORI=0TOJ-1 2180 PRINT#15,"B-A:0",T(I);S(I) 2190 PRINT,,T(I),S(I):NEXT 2200 PRINT""J"FEHLERHAFTE BLOECKE WURDEN GEFUNDEN":CLOSE2:GOTO1070 5000 REM * END * 5010 PRINT"[147] SIND SIE SICHER ? (J/N) "; 5020 POKE204,0 5030 GETAU$:IFAU$=""THEN5030 5040 IFAU$="J"THEN5100 5050 IFAU$="N"THENPOKE204,1:GOTO120 5060 GOTO5030 5100 POKE204,1:PRINT"[147]"SPC(11)"DISK MASTER 64" 5110 PRINT""SPC(15)" [146]" 5120 PRINTSPC(15)" ENDE [146]" 5130 PRINTSPC(15)" [146][156]":FORI=0TO1000:NEXT:SYS64738